import Vuex from 'vuex'
import Vue from 'vue'
import AAA from './modules/A'
import BBB from './modules/B'
Vue.use(Vuex)

const myPlugin = store => {
  // 当 store 初始化后调用
  store.subscribe((mutation, state) => {
    // 每次 mutation 之后调用
    // mutation 的格式为 { type, payload }
    console.log(mutation, state)
    if (/myA/.test(mutation)) {
      localStorage.setItem('vuex/myA', JSON.stringify(state.myA))
    }

  })
}
let store = new Vuex.Store({
  strict: true, // 开启严格模式
  plugins: [myPlugin],
  modules: {
    myA: AAA,
    myB: BBB
  }
})
// 如何实现vuex的数据持久化
// window.addEventListener('beforeunload', () => {
//   // 页面关闭之前触发这个事件
//   localStorage.setItem('vuex/myA', JSON.stringify(store.state.myA))
// })
export default store